package cn.edu.scau.cmi.ema.service.propertyEditor;

import cn.edu.scau.cmi.ema.dao.ProductcodeDAO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.beans.PropertyEditorSupport;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;

@Component
public class ProductcodesEditor extends PropertyEditorSupport{

	@Autowired
	private ProductcodeDAO productcodeDAO;

	public void setAsText(String str) {
		Set<Serializable> set = new HashSet<Serializable>();
		//如果没有选择关联的数据，data插件自动添加了[]，如果选择了关联数据，[]符合删除，字符串是类似于1，2...，因此，需要将[]符合删除
		str = str.replace('[', ' ').replace(']', ' ').trim();
		if(str.length()>0) {
			String[] idStringSet = str.split(",");
			if(idStringSet!=null)
				for(String idString:idStringSet) {
					set.add( productcodeDAO.findProductcodeById(Integer.parseInt(idString)));
				}
			this.setValue(set);
		}
		else{
			this.setValue(null);
		}
	}
}
